/**
 * 文件名称: main.c
 * 摘    要: freetype测试代码
 * 来    源: huenrong
 *
 * 当前版本: 1.0 
 * 作    者: huenrong
 * 完成日期: 2019-08-01
 **/

#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <sys/mman.h>
#include <math.h>
#include <unistd.h>
#include <wchar.h>

#include "framebuffer/framebuffer.h"
#include "freetype/user_freetype.h"


int main(int argc, char *argv[])
{
    int framebuffer_fd = -1;        // framebuffer文件描述符
    wchar_t *show_str_en = L"ABCD";       // 要显示的英文字符串
    wchar_t *show_str_ch = L"中华人民共和国";       // 要显示的中文字符串
    // 显示字体颜色码数组
    unsigned int color_array[] = {RED, ORANGERED, YELLOW, GREEN, BLUE, CYAN, PURPLE};

    if (argc != 2)
	{
		printf("usage : %s <font_file>\r\n", argv[0]);
		return -1;
	}

    framebuffer_fd = open_framebuffer();        // 打开设备framebuffer
    if (-1 == framebuffer_fd)
    {
        printf("open_framebuffer error\r\n");

        return -1;
    }

    framebuffer_draw_background(SCREEN_WIDTH, SCREEN_HEIGHT, WHITE);        // 绘制屏幕背景

    // freetype_init(FONT_FILE_PATH);       // 初始化freetype
    freetype_init(argv[1]);        // 初始化freetype

    freetype_set_pixel_size(100, 0);     // 设置字体像素大小
    freetype_display_str(0, 200, "0", show_str_en, wcslen(show_str_en), WHITE, RED);        // 显示字符串

    freetype_set_pixel_size(100, 0);
    for (int i=0; i<wcslen(show_str_ch); i++)
    {
        freetype_display_str(i*100, 300, "0", &show_str_ch[i], 1, WHITE, color_array[i]);
    }
    
    return 0;
}